Conventionally, web browsers rely on the central processing unit (CPU) to render content of the webpage. However, as graphics processing units (GPUs) are becoming an integral part of every day computing devices such as smartphones, tablet computing devices, notebooks and laptops, the graphics-rich media, such as 3D graphics and video, are playing an increasingly important role in the user's web experience. One way to increase speed and efficiency of rendering graphics-rich media on a computing device is for a GPU to process the content. For example, processing graphics content on a GPU eliminates expensive and slow copies of large amounts of data to and from system memory. Additionally, a GPU achieves a superior performance in processing complex 3D graphics and video as it is adept at handling complex mathematical computations that are common in 3D graphics and video manipulation, in parallel.
Conventional browsers and renderers, however, operate in a sandbox environment. Because of the sandbox environment, they are unable to issue calls that include graphics commands that manipulate data directly to the GPU.